/**
 * Manages the resolution of page URLs.
 * <p>
 * {@link lumis.portal.url.IURLManager} provides the API for the 
 * back-end of page URLs mapping resolution.
 * </p>
 * <p>
 * {@link lumis.portal.url.WebResource} represents a resource accessible through
 * a portal URL.
 * </p>
 * <p>
 * {@link lumis.portal.url.IURLResolver} defines the interface for a
 * URL resolver, that may be implemented to customize
 * how the URL for web resources are resolved.
 * A <code>IURLResolver</code> may be applied to a channel or page using the
 * <code>{@link lumis.portal.url.IURLManager#URL_RESOLVER_PROPERTY_NAME lumis.portal.url.IURLResolver}</code>
 * property (see {@link lumis.portal.propertybag}).
 * {@link lumis.portal.url.GenericURLResolver} is a generic implementation of
 * <code>IURLResolver</code>.
 * </p>
 * <p>
 * When the rule for web resource URL resolving is modified (either due to the
 * dynamic nature of the <code>IURLResolver</code> implementation or 
 * because of changes in the resolver configuration), the URLs already resolved
 * are not affected, but new URLs resolved are based on the new resolution 
 * rules. If the new rules are desired to be applied over URLs already resolved,
 * it will be necessary to remove the undesired URL mappings. Note that this 
 * removal may cause links to such URLs to become broken. 
 * </p>
 * 
 * @version $Revision: 10825 $ $Date: 2009-08-04 12:36:40 -0300 (Tue, 04 Aug 2009) $
 * @since 5.0.0
 */
package lumis.portal.url;